package com.zero.lite.dao.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author zero
 * @since 2018-05-04
 */
@TableName("lite_order")
public class Order extends Model<Order> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Integer id;
	@TableField("user_id")
	private Integer userId;
	@TableField("order_sn")
	private String orderSn;
    /**
     * 订单状态
     */
	@TableField("order_status")
	private Integer orderStatus;
	private String consignee;
	private String mobile;
	private String address;
    /**
     * 商品总费用
     */
	@TableField("goods_price")
	private BigDecimal goodsPrice;
    /**
     * 配送费用
     */
	@TableField("freight_price")
	private BigDecimal freightPrice;
    /**
     * 优惠券减免
     */
	@TableField("coupon_price")
	private BigDecimal couponPrice;
    /**
     * 用户积分减免
     */
	@TableField("integral_price")
	private BigDecimal integralPrice;
    /**
     * 订单费用， = goods_price + freight_price - coupon_price
     */
	@TableField("order_price")
	private BigDecimal orderPrice;
    /**
     * 实付费用， = order_price - integral_price
     */
	@TableField("actual_price")
	private BigDecimal actualPrice;
    /**
     * 微信付款编号
     */
	@TableField("pay_id")
	private String payId;
    /**
     * 支付状态
     */
	@TableField("pay_status")
	private Integer payStatus;
    /**
     * 微信付款时间
     */
	@TableField("pay_time")
	private LocalDateTime payTime;
    /**
     * 发货编号
     */
	@TableField("ship_sn")
	private String shipSn;
    /**
     * 发货快递公司
     */
	@TableField("ship_channel")
	private String shipChannel;
    /**
     * 发货开始时间
     */
	@TableField("ship_start_time")
	private LocalDateTime shipStartTime;
    /**
     * 发货结束时间
     */
	@TableField("ship_end_time")
	private LocalDateTime shipEndTime;
    /**
     * 用户确认收货时间
     */
	@TableField("confirm_time")
	private LocalDateTime confirmTime;
	@TableField("end_time")
	private LocalDateTime endTime;
	@TableField("add_time")
	private LocalDateTime addTime;
	private Integer deleted;


	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public String getOrderSn() {
		return orderSn;
	}

	public void setOrderSn(String orderSn) {
		this.orderSn = orderSn;
	}

	public Integer getOrderStatus() {
		return orderStatus;
	}

	public void setOrderStatus(Integer orderStatus) {
		this.orderStatus = orderStatus;
	}

	public String getConsignee() {
		return consignee;
	}

	public void setConsignee(String consignee) {
		this.consignee = consignee;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public BigDecimal getGoodsPrice() {
		return goodsPrice;
	}

	public void setGoodsPrice(BigDecimal goodsPrice) {
		this.goodsPrice = goodsPrice;
	}

	public BigDecimal getFreightPrice() {
		return freightPrice;
	}

	public void setFreightPrice(BigDecimal freightPrice) {
		this.freightPrice = freightPrice;
	}

	public BigDecimal getCouponPrice() {
		return couponPrice;
	}

	public void setCouponPrice(BigDecimal couponPrice) {
		this.couponPrice = couponPrice;
	}

	public BigDecimal getIntegralPrice() {
		return integralPrice;
	}

	public void setIntegralPrice(BigDecimal integralPrice) {
		this.integralPrice = integralPrice;
	}

	public BigDecimal getOrderPrice() {
		return orderPrice;
	}

	public void setOrderPrice(BigDecimal orderPrice) {
		this.orderPrice = orderPrice;
	}

	public BigDecimal getActualPrice() {
		return actualPrice;
	}

	public void setActualPrice(BigDecimal actualPrice) {
		this.actualPrice = actualPrice;
	}

	public String getPayId() {
		return payId;
	}

	public void setPayId(String payId) {
		this.payId = payId;
	}

	public Integer getPayStatus() {
		return payStatus;
	}

	public void setPayStatus(Integer payStatus) {
		this.payStatus = payStatus;
	}

	public LocalDateTime getPayTime() {
		return payTime;
	}

	public void setPayTime(LocalDateTime payTime) {
		this.payTime = payTime;
	}

	public String getShipSn() {
		return shipSn;
	}

	public void setShipSn(String shipSn) {
		this.shipSn = shipSn;
	}

	public String getShipChannel() {
		return shipChannel;
	}

	public void setShipChannel(String shipChannel) {
		this.shipChannel = shipChannel;
	}

	public LocalDateTime getShipStartTime() {
		return shipStartTime;
	}

	public void setShipStartTime(LocalDateTime shipStartTime) {
		this.shipStartTime = shipStartTime;
	}

	public LocalDateTime getShipEndTime() {
		return shipEndTime;
	}

	public void setShipEndTime(LocalDateTime shipEndTime) {
		this.shipEndTime = shipEndTime;
	}

	public LocalDateTime getConfirmTime() {
		return confirmTime;
	}

	public void setConfirmTime(LocalDateTime confirmTime) {
		this.confirmTime = confirmTime;
	}

	public LocalDateTime getEndTime() {
		return endTime;
	}

	public void setEndTime(LocalDateTime endTime) {
		this.endTime = endTime;
	}

	public LocalDateTime getAddTime() {
		return addTime;
	}

	public void setAddTime(LocalDateTime addTime) {
		this.addTime = addTime;
	}

	public Integer getDeleted() {
		return deleted;
	}

	public void setDeleted(Integer deleted) {
		this.deleted = deleted;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "Order{" +
			"id=" + id +
			", userId=" + userId +
			", orderSn=" + orderSn +
			", orderStatus=" + orderStatus +
			", consignee=" + consignee +
			", mobile=" + mobile +
			", address=" + address +
			", goodsPrice=" + goodsPrice +
			", freightPrice=" + freightPrice +
			", couponPrice=" + couponPrice +
			", integralPrice=" + integralPrice +
			", orderPrice=" + orderPrice +
			", actualPrice=" + actualPrice +
			", payId=" + payId +
			", payStatus=" + payStatus +
			", payTime=" + payTime +
			", shipSn=" + shipSn +
			", shipChannel=" + shipChannel +
			", shipStartTime=" + shipStartTime +
			", shipEndTime=" + shipEndTime +
			", confirmTime=" + confirmTime +
			", endTime=" + endTime +
			", addTime=" + addTime +
			", deleted=" + deleted +
			"}";
	}
}
